Multi-Class Image Classification Model for 7000 Labeled Pokémon Using TensorFlow Take 2

David Lowe

February 1, 2022

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery. [https://machinelearningmastery.com/]

SUMMARY: This project aims to construct a predictive model using a TensorFlow convolutional neural network (CNN) and document the end-to-end steps using a template. The 7000 Labeled Pokémon dataset is a multi-class classification situation where we attempt to predict one of several (more than two) possible outcomes.

INTRODUCTION: The dataset owner worked on a Pokémon classification project and made the dataset available on Kaggle. The dataset includes 150 Pokémon’s with 25 to 50 images for each Pokémon. Unfortunately, most images have low resolution, so we should be mindful of the results that we can obtain from this dataset.

ANALYSIS: The model's performance achieved an accuracy score of 57.17% after 50 epochs using a validation dataset with 15% of total images. After tuning the learning rate, we improved the accuracy rate to 65.24% using the same validation dataset.

CONCLUSION: In this iteration, the TensorFlow DenseNet201 CNN model appeared to have limited effectiveness in modeling this dataset.

Dataset Used: 7000 Labeled Pokémon Dataset

Dataset ML Model: Multi-class image classification with numerical attributes

Dataset Reference: https://www.kaggle.com/lantian773030/pokemonclassification

One potential source of performance benchmarks: https://www.kaggle.com/lantian773030/pokemonclassification/code

Task 1 - Prepare Environment

1.a) Load libraries and modules

1.b) Set up the controlling parameters and functions

Task 2 - Load and Prepare Images

Task 3 - Define and Train Models

Task 4 - Tune and Optimize Models

Task 5 - Finalize Model and Make Predictions

5.a) Train the Final Model

5.b) Load Test Dataset and Make Predictions